var jweixin = require('jweixin-module');

// 这里的vm，就是我们在vue文件里面的this，所以我们能在这里获取vuex的变量，比如存放在里面的token变量
const install = (Vue, vm) => {
	//判断是否在微信中
	let isWechat = function() {
		var ua = window.navigator.userAgent.toLowerCase();
		if (ua.match(/micromessenger/i) == 'micromessenger') {
			return true;
		} else {
			return false;
		}
	};
	//初始化sdk配置  
	let initJssdk = function(callback, url) {
		//服务端进行签名 ，可使用uni.request替换。 签名算法请看文档 
		vm.$u.get('/api/wechat/open-platform/js/sdk/wxd2b9b2d02ec9b6ed', {url: url}).then(res => {
			jweixin.config({
				debug: false,
				appId: res.appId,
				timestamp: res.timestamp,
				nonceStr: res.nonceStr,
				signature: res.signature,
				jsApiList: [
					'checkJsApi',
					'onMenuShareTimeline',
					'onMenuShareAppMessage'
				]
			});
			//配置完成后，再执行分享等功能  
			if (callback) {
				callback(res);
			}
		})
	};
	//在需要自定义分享的页面中调用  
	let share = function(data, url) {
		url = url ? url : window.location.href;
		if (!this.isWechat()) {
			return;
		}
		
		//每次都需要重新初始化配置，才可以进行分享  
		this.initJssdk(function(signData) {
			jweixin.ready(function() {
				var shareData = {
					title: data && data.title ? data.title : signData.site_name,
					desc: data && data.desc ? data.desc : signData.site_description,
					link: 'https://hnedp.ioboo.cn/api/wechat/open-platform/login/wxd2b9b2d02ec9b6ed?redirect=ticket',
					imgUrl: data && data.img ? data.img : signData.site_logo,
					success: function(res) {
						//用户点击分享后的回调，这里可以进行统计，例如分享送金币之类的  
						// request.post('/api/member/share');
					},
					cancel: function(res) {}
				};
				//分享给朋友接口  
				jweixin.onMenuShareAppMessage(shareData);
				//分享到朋友圈接口  
				jweixin.onMenuShareTimeline(shareData);
			});
			
		}, url);
	}
	
	vm.$u.$wechat = {
		isWechat,
		initJssdk,
		share
	};
}

export default {
	install
}